package com.aoxin.mapper.opm;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.aoxin.model.dto.RoleEmployeeDto;
import com.aoxin.model.opm.SlfRoleEmployee;

/**
 * 角色员工Mapper
 * 
 * @author Melody
 * @date 2018年3月22日 下午5:20:04
 */
public interface SlfRoleEmployeeMapper {

	/**
	 * 批量删除员工角色
	 * 
	 * @param roleEmployeeIds
	 *            角色员工ID集合
	 */
	void deleteByPrimaryKeys(List<Integer> roleEmployeeIds);

	/**
	 * 根据角色删除员工角色
	 * 
	 * @param roleId
	 *            角色ID
	 */
	void deleteByRoleId(@Param("roleId") Integer roleId);

	/**
	 * 添加角色员工
	 * 
	 * @param record
	 *            角色员工
	 */
	void insertSelective(SlfRoleEmployee record);

	/**
	 * 查询角色员工
	 * 
	 * @param roleEmployeeId
	 *            角色员工ID
	 * @return 角色员工
	 */
	SlfRoleEmployee selectByPrimaryKey(@Param("roleEmployeeId") Integer roleEmployeeId);

	/**
	 * 修改角色员工
	 * 
	 * @param record
	 *            角色员工
	 */
	void updateByPrimaryKeySelective(SlfRoleEmployee record);

	/**
	 * 根据角色ID查询人员
	 * 
	 * @param map
	 *            条件集合
	 * @return 人员
	 */
	List<RoleEmployeeDto> getEmployeeListByRoleId(Map<String, Object> map);

	/**
	 * 获取记录数
	 * 
	 * @param roleId
	 *            角色ID
	 * @param employeeId
	 *            员工ID
	 * @return 记录数
	 */
	Long getRecordCount(@Param("roleId") Integer roleId, @Param("employeeId") Integer employeeId);
}